<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class reporteMigracion extends CI_Controller {

    private $establecimiento;

    public function __construct() {
        parent::__construct();
        session_start();
        $this->estaLogueado();
        $this->load->model('_clienteM');
        $this->establecimiento = $_SESSION["establecimiento"]["id_establecimiento"];
        // $this->exportar("hola que mas ji");
    }

    public function index() {
        $data = array();
        $this->loadData($data);
        $this->load->view('header', $data);
        $this->load->view('reporteMigracionV');
        $this->load->view('footer');
    }

    public function loadData(&$data) {
        $data["tab"] = "reporteMigracion";
    }

    public function exportar() {
        // var_dump($_POST);

        if (!empty($_POST)) {
            $reporte = $this->getCabeceras();
            $reporte.=$this->getCuerpo($_POST['reporte']);
            $this->descargar($reporte);
        }
    }

    private function getCabeceras() {

        $content = $this->pad("código del hotel") . $this->pad("código de ciudad") . $this->pad("Tipo de documento") . $this->pad("Número de identificación") . $this->pad("Código de nacionalidad") . $this->pad("Primer apellido") . $this->pad("Segundo apellido") . $this->pad("Nombre del extranjero") . $this->pad("Tipo de movimiento") . $this->pad("Fecha de movimiento") . $this->pad("Lugar de procedencia") . $this->pad("Lugar de destino") . $this->pad("Fecha de nacimiento") . "\n";
        return $content;
    }

    private function getCuerpo($fecha) {
        $result = $this->_clienteM->getReporteMigracion($this->establecimiento, $fecha);
        //  var_dump($result);
        $fecha = explode('/', $fecha);
        $fecha = "{$fecha[2]}-{$fecha[0]}-{$fecha[1]}";
        $str = "";
        foreach ($result as $data) {
            $str.=$this->pad($data->id_establecimiento) . $this->pad($data->ciudad) . $this->pad($data->codigo) . $this->pad($data->identificacion) . $this->pad($data->id_pais) . $this->pad($data->apellido) . $this->pad($data->apellido) . $this->pad($data->name);
            $str.=($data->fecha_ingreso == "$fecha") ? $this->pad("E") : $this->pad("S");
            $str.=$this->pad($fecha) . $this->pad($data->pais_procedencia) . $this->pad($data->pais_destino) . $this->pad($data->fecha_nacimiento);
            $str.="\n";
        }
        return $str;
    }

    private function descargar($data) {
        header("Content-Type:text/html; charset=utf-8");
        $file = fopen("reporteMigracion.txt", "w");
        fwrite($file, $data);
        fclose($file);
        $fichero = "./reporteMigracion.txt";
        header("Content-Description: File Transfer");
        header("Content-Disposition: filename=" . basename($fichero));
        header("Content-Length: " . filesize($fichero));
        header("Content-Type: application/force-download");
        @readfile($fichero);
        unlink("reporteMigracion.txt");
    }

}
